home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / c64-preservation-project / spellbound[timeworks_1983].nbz / ... (.txt) next >
Encoding:
Commodore BASIC  |  2019-04-13  |  8.8 KB  |  222 lines

  1. 0 DATA 1,5,9,15,21,16,20,12,19,4,7,11,13,14,25,2,8,1,5,9,18,5,9,16,12,19,7,1,-1
  2. 1 CC$="HIGH SCORE ":GG=0:DIMWD$(19),WL%(19),A%(25),A(25):POKE808,225:GOTO6000
  3. 2 POKE53281,0:POKE53280,11:L=1:PRINT"[147]"
  4. 3 PRINTTAB(7);"PRESS FIRE BUTTON FOR GAME":PRINT:PRINTTAB(12);CC$;GG:ED=3
  5. 4 POKE198,0:AB=5:POKE56334,0
  6. 5 LETPK=PEEK(56320):IFPK=110THENAA=1.1:GOTO4040
  7. 6 IFPK<>111THEN5
  8. 7 POKE54276,65:POKE53280,11:FORZZ=0TO5:NEXT:POKE54276,64
  9. 10 PRINT"[147]":C=1:J=1484:JJ=1484:PT=0:SYS49300:SYS50152:PN=0:
  10. 11 FORZ=0TO96:PRINT"LESSON";L+XS;:NEXT:IFPEEK(56320)=111THEN600
  11. 12 PRINT"[147]":POKE53280,0:Z=1024:FORZZ=0TO22:POKEZ+54272,6:POKEZ,160:Z=Z+40:NEXT
  12. 13 Z=1904:FORZZ=0TO39:POKEZ+54272,6:POKEZ,160:Z=Z+1:NEXT:POKE54273,36
  13. 14 Z=1943:FORZZ=0TO23:POKEZ+54272,6:POKEZ,160:Z=Z-40:NEXT:Z=0:RESTORE
  14. 15 Z=1063:FORZZ=0TO39:POKEZ+54272,6:POKEZ,160:Z=Z-1:NEXT:Z=0:POKE53280,0
  15. 16 ZS=160-((L*3)+WM):FORZZ=1TOED:POKE1985+(ZZ*2),33:POKE1985+(ZZ*2)+54272,7:NEXT
  16. 17 IFAB>0THENFORZZ=1TOAB:POKE2010+(ZZ*2),38:POKE2010+(ZZ*2)+54272,7:NEXT
  17. 18 GOSUB350:LM=INT(WM*.17)+5:IFLM>27THENLM=27
  18. 20 GOSUB400
  19. 21 READF:POKE54276,33:POKEN+54272,1:FORER=0TO10:NEXTER
  20. 22 POKEN,F:POKE54276,32:IFPT=LMTHEN24
  21. 23 PT=PT+1:GOTO20
  22. 24 GOSUB360:PRINT"[145][145][145]";
  23. 25 WS=LEN(WD$(L-1))+6:SW=INT((40-WS)/2):PRINTTAB(SW);"SPELL ";WD$(L-1);
  24. 26 PRINT"[146]":SC=SC-50:GOSUB150
  25. 27 D=PEEK(JJ):POKE1484,34:POKE1484+54272,7:POKE53281,0:FT=6:GOSUB375
  26. 28 IFPEEK(56320)=127THENFT=FT-.03:IFFT>.9THENPRINT"";INT(FT):K=40:JK=34:GOTO28
  27. 29 P=PEEK(56320):IFP<=111THENGOTO301
  28. 30 ONP-110GOTO300,300,80,80,80,80,80,80,60,80,80,80,70,80,50,40,80
  29. 40 JK=33:K=-40:GOTO80
  30. 50 JK=34:K=40:GOTO80
  31. 60 JK=36:K=1:GOTO80
  32. 70 JK=35:K=-1:GOTO80
  33. 80 POKE53280,0:POKEJJ,37
  34. 85 JJ=JJ+K
  35. 120 D=PEEK(JJ):SYS49307:SYS50159
  36. 130 IFD<>32THENGOSUB150:POKE54273,105:GOSUB500:POKE54276,64:ONCGOTO140,299
  37. 140 IFD=160THEN200
  38. 141 POKEJJ+54272,7:POKEJJ,JK:SYS49334:SYS50186
  39. 142 FORSS=0TOZS:NEXT:IFPN>0THENFOREW=0TONW:NEXTEW:PN=PN-1:IFPN<10THENPOKE53280,2
  40. 143 GOTO29
  41. 150 SC=SC+50:PRINT"";:PRINTTAB(14);"SCORE:";SC:PRINT""
  42. 151 RETURN
  43. 200 POKE54276,129:SYS49334:SYS50186:FORQ=0TO5:POKE53280,0:POKE53281,0:FORQQ=0TO5
  44. 201 NEXTQQ:POKE53280,1:POKE53281,1:FORQQ=0TO25:NEXT:NEXT:POKE54276,128
  45. 202 POKE53280,11:POKE53281,0:D=0:K=0:Z=0:BL=0:QS=0:TP=0
  46. 203 IFED=1THEN205
  47. 204 ED=ED-1:PRINT"[147]":GOTO10
  48. 205 PRINT"[147]":PRINTTAB(15);"GAME OVER":PRINTTAB(12);"YOUR SCORE";SC
  49. 206 XS=0:FORZ=0TO3500:NEXT:IFSC>GGTHENGG=SC
  50. 207 SC=0:GOTO2
  51. 299 SYS49334:SYS50186:GOSUB385:SC=SC+(25*L):IFL=5THENAB=AB+1
  52. 300 L=L+1:PRINT"[147]":K=0:D=0:Z=0:BL=0:QS=0:TP=0:POKE53280,0:GOTO305
  53. 301 AB=AB-1:IFAB>=0THENPRINT"[147]":K=0:D=0:Z=0:BL=0:GOTO10
  54. 302 GOTO80
  55. 305 IFL>NWTHENL=1:WM=WM+60:XS=XS+NW
  56. 306 GOTO10
  57. 350 A(0)=ASC(WD$(L-1))-64
  58. 351 FORQS=1TOWL%(L-1)-1:A(QS)=ASC(MID$(WD$(L-1),QS+1,1))-64:NEXT:RETURN
  59. 360 GOSUB400
  60. 361 POKE54276,33:POKEN+54272,1:FORER=0TO10:NEXTER
  61. 362 POKEN,A(TP):POKE54276,32:IFTP=WL%(L-1)-1THENTP=0:RETURN
  62. 363 TP=TP+1:GOTO360
  63. 375 ONLGOTO376,376,376,377,376,377,376,380,377,377,380,377,377,380,377,377,376
  64. 376 RETURN
  65. 377 GOSUB400:GOSUB403:FORTD=1TO14:SYS49307:FORGT=0TO15:NEXTGT:SYS49334:NEXTTD
  66. 378 SYS49300:RETURN
  67. 380 GOSUB400:GOSUB403:GOSUB400:GOSUB403:FORTD=1TO14:SYS49307:FORGT=0TO15:NEXTGT
  68. 381 SYS49334:NEXTTD
  69. 382 SYS49300:RETURN
  70. 385 PRINTTAB(8);"[145]                        [146][154]"
  71. 386 FORVX=0TO15:PRINTTAB(14);"[145] YOU DID IT ":FORXV=0TO25:NEXTXV
  72. 387 PRINTTAB(14);"[145] YOU DID IT![146]":FORXV=0TO25:NEXTXV:NEXTVX:RETURN
  73. 395 PRINT
  74. 400 X=INT(37*RND(1)+2):Y=INT(20*RND(1)+2):N=1024+X+(Y*40):IFN=1484THEN400
  75. 401 IF PEEK(N)<>32THEN400
  76. 402 RETURN
  77. 403 POKEN,38:POKEN+54272,7:RETURN
  78. 500 IFD=A(Z)THENPOKE54276,65:BL=BL+1:POKE1024+54277+SW+BL,7:GOTO502
  79. 501 GOTO504
  80. 502 IFBL=WL%(L-1)THENC=2:BL=0:Z=0:RETURN
  81. 503 Z=Z+1:RETURN
  82. 504 IFD<>38THEND=160:RETURN
  83. 505 IFD=38THENFORHH=1TO4:SYS49300:FORDH=1TO15:SYS49307:POKE53281,DH
  84. 506 FORYR=0TO3:NEXTYR:NEXTDH:POKE53281,0
  85. 507 NEXTHH:SYS49334:SYS49300:SYS50152:SC=SC+250:PN=PN+20+(L*2):RETURN
  86. 600 FORZZ=1TO50:Z1=(null)^(null):NEXT
  87. 602 E$="                                        "
  88. 603 PRINT"";""E$E$;
  89. 605 PRINT"     >PRESS FIRE BUTTON TO CONTINUE<    ";
  90. 610 PRINTE$E$
  91. 615 FORZZ=1TO50:Z1=(null)^(null):NEXT
  92. 620 IFPEEK(56320)=111THEN12
  93. 625 GOTO620
  94. 700 GETC$:IFC$<>""THEN700
  95. 705 GETC$:IFC$=""THEN705
  96. 710 RETURN
  97. 720 PRINTP$;"                                       ":RETURN
  98. 750 EO=0:OPEN1,8,15:INPUT#1,A,B$,C,D:IFA<20ORA=70ORA=50THENRETURN
  99. 755 PRINT"";A,B$,C;D"[146]":FORI=1TO2000:EO=1:NEXT:RETURN
  100. 4000 P$="":PRINT"[147]":FORX=0TO19
  101. 4005 WD$(X)="":PRINT"ENTER WORD #";X+1;:INPUTWD$(X)
  102. 4007 IFWD$(X)=""THENNW=X:GOTO4025
  103. 4010 IFLEN(WD$(X))>25ORLEN(WD$(X))<3THENPRINT"REDO":GOTO4005
  104. 4020 WL%(X)=LEN(WD$(X)):NEXT:NW=X
  105. 4025 INPUT"  ENTER DIFFICULTY(1-10)";WM:IFWM>10ORWM<1THENGOTO4025
  106. 4030 WM=WM*13:PRINT"[147]":GOTO4060
  107. 4035 PRINT"[147]"
  108. 4040 POKE56334,1:INPUT"  ENTER DIFFICULTY(1-10)";WM
  109. 4045 IFWM>10ORWM<1THENPRINT"[145]":GOTO4040
  110. 4050 WM=WM*13:IFAA=1.1THENAA=0:PRINT"[145]                          [160]":POKE56334,0
  111. 4055 GOTO2
  112. 4060 PRINT"[147]";P$;"SAVE OR LOAD WORDS?(S/L/N)":GOSUB700:GOSUB720
  113. 4065 IFC$<>"S"ANDC$<>"L"ANDC$<>"N"THEN4060
  114. 4070 IFC$="N"THEN4500
  115. 4075 IFC$="L"THEN4100
  116. 4080 PRINTP$;:INPUT"[145][145]ENTER SAVE NAME";S$
  117. 4085 PRINTP$"INSERT YOUR DATA DISK...THEN PRESS -C-":GOSUB700
  118. 4090 PRINT"[147]";P$;"***SAVING WORDS***":OPEN2,8,2,S$+",S,W":GOSUB750:IFEOTHEN4060
  119. 4095 PRINT#2,NW:FORI=0TONW-1:PRINT#2,WD$(I):NEXT:CLOSE1:CLOSE2:GOTO4500
  120. 4100 PRINTP$;:INPUT"[145][145]ENTER LOAD NAME";S$
  121. 4105 PRINTP$"INSERT YOUR DATA DISK...THEN PRESS -C-":GOSUB700
  122. 4110 PRINT"[147]";P$;"***LOADING WORDS***":OPEN2,8,2,S$+",S,R":GOSUB750:IFEOTHEN4060
  123. 4115 INPUT#2,NW:FORI=0TONW-1:INPUT#2,WD$(I):WL%(I)=LEN(WD$(I))
  124. 4120 NEXT:CLOSE1:CLOSE2:GOTO4500
  125. 4500 DATA 24,162,0,189,0,208,157,0,48,224,255,240,4,232,76,3,192
  126. 4501 DATA 162,0,189,0,209,157,0,49,224,255,240,4,232,76,19,192
  127. 4502 DATA 162,0,189,0,210,157,0,50,224,255,240,4,232,76,35,192
  128. 4503 DATA 162,0,189,0,211,157,0,51,224,255,240,4,232,76,51,192
  129. 4504 DATA 162,0,189,0,212,157,0,52,224,255,240,4,232,76,67,192
  130. 4505 DATA 162,0,189,0,213,157,0,53,224,255,240,4,232,76,83,192
  131. 4506 DATA 162,0,189,0,214,157,0,54,224,255,240,4,232,76,99,192,96
  132. 4508 DATA 24,162,0,142,147,192,96,24,174,147,192,189,198,192,160,17,140,11,212
  133. 4509 DATA 141,8,212,232,189,198,192,141,7,212,232,142,147,192,96,24,169,16,141
  134. 4510 DATA 11,212,96
  135. 4511 DATA 30,141,20,100,22,227,20,100,30,141,20,100,22,227,20,100,30,141,20,100
  136. 4512 DATA 22,227,20,100,19,63,22,227,30,141,45,198,61,126,38,126,45,198,38,126
  137. 4513 DATA 61,126,38,126,45,198,38,126,40,200,30,141,61,126,51,97,40,200,30,141
  138. 4514 DATA 25,177,20,100,40,200,34,75,27,56,20,100,17,37,20,100,27,56,34,75
  139. 4515 DATA 30,141,25,177,20,100,34,75,30,141,40,200,51,97,61,126,61,126,54,111
  140. 4516 DATA 45,198,38,126,30,141,38,126,45,198,38,126,40,200,30,141,61,126,51,97
  141. 4517 DATA 40,200,40,200,51,97,61,126,30,141,20,100,22,227,20,100,30,141,20,100
  142. 4518 DATA 22,227,20,100,30,141,20,100,22,227,20,100,19,63,22,227,30,141,45,198
  143. 4519 DATA 61,126,38,126,45,198,38,126,61,126,38,126,45,198,38,126,40,200,30,141
  144. 4520 DATA 61,126,51,97,40,200,30,141,61,126,51,97,81,161,68,149,54,111,40,200
  145. 4521 DATA 34,75,40,200,54,111,68,149,61,126,51,97,40,200,68,149,61,126,51,97
  146. 4522 DATA 40,200,30,141,30,141,27,56,22,227,19,63,15,70,19,63,22,227,19,63
  147. 4523 DATA 20,100,15,70,30,141,25,177,20,100,20,100,20,100,20,100
  148. 4524 DATA 24,162,0,142,146,192,96,24,174,146,192,160,17,140,18,212,189,24,196
  149. 4525 DATA 141,15,212,232,189,24,196,141,14,212,232,142,146,192,96,24,160,16,140
  150. 4526 DATA 18,212,96
  151. 4527 DATA 10,60,12,216,15,70,12,216,7,163,12,216,15,70,12,216,10,60,12,216,15,70
  152. 4528 DATA 12,216,7,163,13,156,13,156,13,156,15,70,27,56,30,141,27,56,11,114
  153. 4529 DATA 27,56,30,141,27,56,20,100,20,177,20,177,20,177,10,60,12,216,15,70
  154. 4530 DATA 18,42,6,206,10,60,13,156,17,37,13,156,17,37,10,60,6,206,10,60,12,216
  155. 4531 DATA 15,70,12,216,10,60,12,216,15,70,12,216,15,70,27,56,30,141,27,56,11,114
  156. 4532 DATA 27,56,30,141,27,56,20,100,25,177,30,141,30,141,20,100,15,70,18,42
  157. 4533 DATA 25,177,10,60,12,216,15,70,12,216,7,163,12,216,15,70,12,216,10,60
  158. 4534 DATA 12,216,15,70,12,216,7,163,13,156,13,156,13,156,15,70,27,56,30,141
  159. 4535 DATA 27,56,11,114,27,56,30,141,27,56,20,100,25,177,25,177,25,177,20,100
  160. 4536 DATA 25,177,25,177,25,177,13,156,20,100,27,56,34,75,27,56,34,75,20,100
  161. 4537 DATA 13,156,20,100,25,177,30,141,25,177,10,60,12,216,15,70,12,216,7,163
  162. 4538 DATA 13,156,15,70,13,156,5,185,13,156,15,70,13,156,10,60,12,216,15,70,15,70
  163. 4539 DATA 10,60,7,163,8,147,9,159
  164. 4900 PRINT"[147]             JUST A MOMENT"
  165. 4910 RESTORE
  166. 4911 READ Q:IFQ<>-1THEN4911
  167. 4912 FORNQ=49152TO49265:READQN:POKENQ,QN:NEXT
  168. 4913 FORNQ=49300TO49340:READQN:POKENQ,QN:NEXT
  169. 4914 FORNQ=49350TO49605:READQN:POKENQ,QN:NEXT
  170. 4915 FORNQ=50152TO50192:READQN:POKENQ,QN:NEXT
  171. 4916 FORNQ=50200TO50455:READQN:POKENQ,QN:NEXT
  172. 5000 POKE52,48:POKE56,48:POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251
  173. 5001 SYS49152
  174. 5002 POKE1,PEEK(1)OR4
  175. 5003 POKE53272,(PEEK(53272)AND240)+12
  176. 5004 POKE12552,195:POKE12553,102:POKE12554,24:POKE12555,60:POKE12556,255
  177. 5005 POKE12557,255:POKE12558,255:POKE12559,195
  178. 5006 POKE12560,195:POKE12561,255:POKE12562,255:POKE12563,255:POKE12564,60
  179. 5007 POKE12565,24:POKE12566,102:POKE12567,195
  180. 5008 POKE12568,135:POKE12569,207:POKE12570,95:POKE12571,63:POKE12572,63
  181. 5009 POKE12573,95:POKE12574,207:POKE12575,135
  182. 5010 POKE12576,225:POKE12577,243:POKE12578,122:POKE12579,124:POKE12580,124
  183. 5011 POKE12581,122:POKE12582,243:POKE12583,225
  184. 5012 POKE12584,0:POKE12585,0:POKE12586,0:POKE12587,24:POKE12588,24
  185. 5013 POKE12589,0:POKE12590,0:POKE12591,0
  186. 5014 POKE12592,24:POKE12593,0:POKE12594,60:POKE12595,0:POKE12596,126
  187. 5015 POKE12597,0:POKE12598,255:POKE12599,126
  188. 5020 FORS=0TO24:POKE54272+S,0:NEXT
  189. 5021 POKE54296,15:POKE54272,85:POKE54273,36:POKE54274,180:POKE54275,7
  190. 5022 POKE54277,25:POKE54278,249
  191. 5023 POKE54284,15:POKE54285,253
  192. 5024 POKE54291,15:POKE54292,253
  193. 5100 GOTO2
  194. 6000 PRINT"[147]":C$="[159][129][156][151][158][150][152][153][154]":X=1:POKE53280,0:REMPOKE808,225:POKE198,0
  195. 6003 POKE53281,0:PRINTCHR$(8)CHR$(142)
  196. 6005 PRINTMID$(C$,X,1);
  197. 6010 PRINT"";
  198. 6015 A$="[209][157][157][145][209][157][157][209][157][157][209][157][209][157][209][209][209][209][157][209][157][209][157][157][209][157][157][209][157][157][145][209]":GOSUB6125
  199. 6020 PRINT"";
  200. 6025 A$="[209][145][157][209][145][157][209][145][157][209][145][157][209][145][157][209][145][157][209][145][157][209][209][209][157][209][157][157][209]":GOSUB6125
  201. 6030 PRINT""SPC(12);
  202. 6035 A$="[209][157][157][209][157][157][145][209][145][157][209][145][209][209][157][209][157][157][209]":GOSUB6125
  203. 6040 PRINT""SPC(14);
  204. 6045 A$="[209][157][209][157][209][157][209][157][209][157][209][157][209][157][209][157][209][209][157][145][209][145][157][209][145][157][209][145][157][209][145][157][209][145][157][209][145][157][209][145][157][209]":GOSUB6125
  205. 6050 PRINT""SPC(18);
  206. 6055 A$="[209][157][209][157][209][157][209][157][209][157][209][157][209][157][209][157][209][209][145][209][145][157][209][145][157][157][209]":GOSUB6125
  207. 6060 PRINT""SPC(24);
  208. 6065 A$="[209][209][157][209][157][157][209][157][157][209][157][157][145][209][145][157][209][145][209]":GOSUB6125
  209. 6070 PRINT""SPC(27);
  210. 6075 A$="[209][157][209][157][209][209][209][145][209][145][157][209][145][157][209]":GOSUB6125
  211. 6080 PRINT""SPC(32);
  212. 6085 A$="[209][145][157][209][145][157][209][145][157][209][209][209][157][209][157][209]":GOSUB6125
  213. 6090 PRINT""SPC(38);
  214. 6095 A$="[209][157][209][157][209][157][209][157][209][157][209][157][209][157][209][157][209][157][157][209][157][157][145][209][157][145][209][145][209]":GOSUB6125
  215. 6100 PRINT""SPC(25)"(C)1983":PRINTSPC(24)"TIMEWORKS"
  216. 6105 PRINT""SPC(11)"BY: FELIPE CARVAJAL"
  217. 6110 PRINT""SPC(9)"PRESS  C [146] TO CONTINUE"
  218. 6115 X=X+1:IFX=14THENX=1
  219. 6117 GETA$:IFA$<>""THEN4000
  220. 6120 GOTO6005
  221. 6125 FORA=1TOLEN(A$):PRINTMID$(A$,A,1);:FORB=1TO01:NEXT:NEXT:RETURN
  222.